//
//  QWPopMaskView.h
//  Pods
//
//  Created by kevin on 16/1/5.
//
//

#import <UIKit/UIKit.h>

@interface QWPopMaskView : UIView

/**
 *  是否点击即消失
 */
@property (nonatomic) BOOL tapToDismiss;

/**
 *  动画持续时间
 */
@property (nonatomic) CGFloat animationDuration;

/**
 *  是否需要模糊背景
 */
@property (nonatomic) BOOL needsBlurBackground;

/**
 *  内容容器视图 （请勿直接将subviews添加在PopMaskView上，添加到contentView）
 */
@property (nonatomic, readonly) UIView *contentView;

/**
 *  蒙板加载视图 (重载后请调用super方法)
 */
- (void)loadView;

/**
 *  蒙板将要显示时被调用
 */
- (void)maskWillAppear;

/**
 *  蒙板正在显示时被调用
 */
- (void)maskDoAppear;

/**
 *  蒙板已显示时被调用
 */
- (void)maskDidAppear;

/**
 *  蒙板将要消失时被调用
 */
- (void)maskWillDisappear;

/**
 *  蒙板正在消失时被调用
 */
- (void)maskDoDisappear;

/**
 *  蒙板已消失时被调用
 */
- (void)maskDidDisappear;

/**
 *  蒙板将要因为点击消失时被调用
 *
 *  @param touchPosition 点击位置
 *
 *  @return 是否可响应点击消失
 */
- (BOOL)shouldTapToDismissWithTouchPosition:(CGPoint)touchPosition;

/**
 *  显示弹出式蒙板视图
 *
 *  @param view         弹出的父视图
 *  @param offsetInsets 偏移边距
 *  @param maskColor    蒙板颜色
 *  @param completion   显示完成Block
 *  @param dismission   消失完成Block
 */
- (void)showInView:(UIView *)view
         offsetInsets:(UIEdgeInsets)offsetInsets
            maskColor:(UIColor *)maskColor
           completion:(void(^)(void))completion
           dismission:(void(^)(void))dismission;

/**
 *  解散弹出式蒙板视图
 */
- (void)doDismiss;

@end
